package org.gukewen.feign;

import org.gukewen.feign.fallback.ProductFeifnClienFallback;
import org.gukewen.product.bean.Product;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

@FeignClient(name = "product-service", fallback = ProductFeifnClienFallback.class) // 指定服务名称
public interface ProductFeignClient {

    /**
     * mvc 注解的两套使用逻辑
     * 1. 标注在Controller 上，是接受这样的请求
     * 2. 标注在FeignClient 上，是发送这样的请求
     */
    @GetMapping("/product/{id}")
    Product getProductById(@PathVariable("id") Long productId);
}
